package cn.tedu.oop2;
/** 继承案例*/
public class TestExtends {
    public static void main(String[] args) {
        Fruit f=new Fruit();
        Apple a=new Apple();
        HFS h=new HFS();

        f.eat();
        a.eat();
        h.eat();

    }

}
/**通过extends关键字建立子类和父类的继承关系,
 * 格式: 子类 extends 父类
 * JAVA只支持单继承,一个子类只能有一个父类,一个父类能有多个子类
 * 继承相当于子类将父类的资源复制了一遍,
 * 传递性:爷爷类的方法传给爸爸,爸爸的功能会传给孙子*/
class Fruit{
    public void eat(){
        System.out.println("还没想好吃什么水果");
    }
}
class Apple extends Fruit{
    /**继承是一种is a 的关系,
     * 要求子类必须是父类的一种下属类型,依赖性非常强,强耦合 */
    int a=10;
    private int b=100;
}
class HFS extends Apple{
    /**子类可以有独有的方法,实现拓展功能,青出于蓝而胜于蓝*/
    public void sweet(){
        System.out.println("红富士特别甜");
    /**子类继承父类以后,可以继承父类所有非私有资源
     * 被private修饰,所以没有访问权限*/
        System.out.println(a);
    }
}